<?php
/**
 * 打印输出函数
 * @param type $data
 */
function p($data){
      echo "<pre>";
      print_r($data);// print_r($data,true) 加上true参数必须是字符串
       echo "</pre>";
}
/**
 * 打印用户自定义常量
 */
function print_const(){
      $const=  get_defined_constants(true);
      p($const['user']);
}

//加载文件
function load($file){
      static $fileArr=array();//定义静态数组，记录文件加载信息
      if(!is_array($file)){
            $file=array($file);//如果文件不是一个数组，就变成一个数组
      }
      foreach ($file as $f){
            $name=md5($f);//序列化文件名（变成字符串）            
            if(isset($fileArr[$name]) || !is_file($f) || !is_readable($f)){
                  continue;//如果文件被加载过，不是文件，不能读，继续！
            }
            require $f;
            $fileArr[$name]=true;//记录文件加载信息
      }
}
//C方法是设置与读取配置项
function C($name=null,$value=null){
      static $config=array();
      if($name==null){
            return $config;
      }
      if(is_array($name)){
            //array_change_key_case把数组的key转换成小写
            $config=  array_merge($config,  array_change_key_case($name));
      }
      if(is_string($name)){
            $name=  strtolower($name);
            if($value==null){
                  return isset($config[$name])?$config[$name]:null;
            }
            $config[$name]=$value;
      }
}
function halt($msg){
      require HDPHP_PATH.'Tpl/halt.html';exit;
}
/**
 * 实例化模型方法
 * @param type $table
 * @return \Model
 */
function M($table){
      return new Model($table);
}

?>
